package com.bys.admin.system.service;

import com.bys.admin.system.controller.vo.CodegenTableSaveVo;
import com.bys.admin.system.controller.vo.DataBaseTableResVo;
import com.bys.admin.system.entity.SysCodegenTable;
import com.baomidou.mybatisplus.extension.service.IService;
import com.github.yulichang.base.MPJBaseService;

import java.util.List;
import java.util.Map;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author bys
 * @since 2025-02-19
 */
public interface ISysCodegenTableService extends MPJBaseService<SysCodegenTable> {

    List<DataBaseTableResVo> getDataBaseList(Long dataResourceId, String name, String comment);

    void createCodegenTable(CodegenTableSaveVo codegenTableSaveVo);

    /**
     * 执行指定表的代码生成
     * @param tableId  表编号
     * @return  生成结果。key 为文件路径，value 为对应的代码内容
     */
    Map<String, String> generationCodes(Long tableId);

    void deleteTable(Long tableId);

    void syncCodegenFromDB(Long tableId);
}
